Field
The present disclosure relates to an information processing apparatus, an information processing method, and a program, and more particularly to ones suitably used to superimpose and display a virtual object on an image captured by an imaging apparatus.
Description of the Related Art
There is a mixed reality (MR) technology. The MR technology is a technology that uses a camera and a device implementing a display, such as a head-mounted display (HMD) and a tablet personal computer (PC), to superimpose a virtual object on an image captured by the camera and display the resultant on the display.
In the MR technology, a superimposing position of the virtual object in the image is usually determined by using a position and orientation of the camera, which is estimated by associating the image captured by the camera with a map representing a spatial arrangement of an index being associated with an index in the image in the scene. In general, the map and the processing for associating the map with the image captured by the camera include errors. The position and orientation of the camera estimated by associating the map with the image captured by the camera therefore contains errors. Such errors can change the superimposing position of the virtual object and give a sense of incongruity to the user. Japanese Patent No. 3793158 discusses a technique for correcting the superimposing position of the virtual object in consideration of a time-series history of the position and orientation of the camera.
Errors in the processing for associating the map with the image captured by the camera cause changes in a display position of the virtual object with relatively high frequency. Such changes can be suppressed by the technique discussed in Japanese Patent No. 3793158. On the other hand, a change in the display position of the virtual object due to a change of the map to be referred to during association occurs sporadically. The technique discussed in Japanese Patent No. 3793158 is therefore not able to remove such a change in the display position of the virtual object, and a sense of incongruity may be given to the user when the map is changed.